package com.neuedu.hisboot.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * 病人详细信息表
 * </p>
 *
 * @author jaun
 * @since 2025-07-04
 */
@Data
@TableName("patientinfo")
public class PatientInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "HspID", type = IdType.INPUT)
    private String hspId;

    /**
     * 姓名
     */
    @TableField("Name")
    private String name;

    /**
     * 性别
     */
    @TableField("Gender")
    private String gender;

    /**
     * 科室名称
     */
    @TableField("DepartName")
    private String departName;

    /**
     * 医生姓名
     */
    @TableField("DoctorName")
    private String doctorName;

    /**
     * 床位号
     */
    @TableField("BedID")
    private String bedId;

    /**
     * 入院次数
     */
    @TableField("InHspTimes")
    private String inHspTimes;

    /**
     * 入院诊断
     */
    @TableField("InHspDiagnose")
    private String inHspDiagnose;

    /**
     * 科室区域
     */
    @TableField("DepartZone")
    private String departZone;

    /**
     * 病历号
     */
    @TableField("MRID")
    private String mrid;

    /**
     * 身份证号
     */
    @TableField("IDCardNo")
    private String idCardNo;

    /**
     * 医保类型
     */
    @TableField("MedInsuranceType")
    private String medInsuranceType;

    /**
     * 医保编号
     */
    @TableField("MedInsuranceID")
    private String medInsuranceId;

    /**
     * 入院类型
     */
    @TableField("InHspType")
    private String inHspType;

    /**
     * 疾病
     */
    @TableField("Illness")
    private String illness;

    /**
     * 发病季节
     */
    @TableField("IllSeason")
    private String illSeason;

    /**
     * 婚姻状况
     */
    @TableField("Marriage")
    private String marriage;

    /**
     * 民族
     */
    @TableField("Nation")
    private String nation;

    /**
     * 职业
     */
    @TableField("Profession")
    private String profession;

    /**
     * 地址
     */
    @TableField("Address")
    private String address;

    /**
     * 工作单位
     */
    @TableField("Corporation")
    private String corporation;

    /**
     * 联系人姓名
     */
    @TableField("ContactsName")
    private String contactsName;

    /**
     * 与联系人的关系
     */
    @TableField("Relation")
    private String relation;

    /**
     * 联系人电话
     */
    @TableField("ContactsPhone")
    private String contactsPhone;

    /**
     * 邮政编码
     */
    @TableField("PostCode")
    private String postCode;

    /**
     * 出生日期
     */
    @TableField("Birthday")
    private String birthday;

    /**
     * 入院时间
     */
    @TableField("HspTime")
    private String hspTime;

    /**
     * 创建时间（若数据库无此列，请在确认后删除或映射正确列名）
     */
    @TableField(exist = false)
    private LocalDateTime createTime;

    /**
     * 更新时间（若数据库无此列，请在确认后删除或映射正确列名）
     */
    @TableField(exist = false)
    private LocalDateTime updateTime;

    /**
     * 删除标记
     */
//    @TableField("DelMark")
    @TableField(exist = false)
    private Integer delMark;
}

